/*Version 1.0*/
#include <stdio.h>
#include <assert.h>
#include "Carre.h"

/*Precondition : Carre non initialisee                                                                                                               
  Postcondition : Carre initialisee*/
void InitCarre(Carre * car)
{
  car->coordoCar.x=0;
  car->coordoCar.y=0;
  car->contour.r=0;
  car->contour.g=0;
  car->contour.b=0;
  car->fond.r=0;
  car->fond.g=0;
  car->fond.b=0;
  car->dim=0;
  car->epaisseur_contour=0; 

}
/*Precondition : Carre initialisee*/

void CreerCarre(Carre * car,double dim, double epaisseur_contour, Couleur fond, Couleur contour, Coordonnees c)
{
  assert(dim>=0 && epaisseur_contour >=0);
  assert(c.x>=0 && c.y>=0);
  car->coordoCar.x=c.x;
  car->coordoCar.y=c.y;
  car->contour.r=contour.r;
  car->contour.g=contour.g;
  car->contour.b=contour.b;
  car->fond.r=fond.r;
  car->fond.g=fond.g;
  car->fond.b=fond.b;
  car->dim=dim;
  car->epaisseur_contour=epaisseur_contour; 
}

/*Precondition : Carre initialisee*/
void ModifierFondCarre(Carre * car,Couleur fond)
{
  car->fond.r=fond.r;
  car->fond.g=fond.g;
  car->fond.b=fond.b;
	
}

/*Precondition : Carre initialisee et la dimension est une valeur positive*/
void ModifierTailleCarre(Carre * car,double dim)
{	
  assert(dim>=0);
  car->dim=dim;
}

/*Precondition : Carre initialisee */
void ModifierContourCarre(Carre * car,double epaisseur_contour,Couleur contour)
{
  assert(epaisseur_contour>=0);
  car->contour.r=contour.r;
  car->contour.g=contour.g;
  car->contour.b=contour.b;
  car->epaisseur_contour=epaisseur_contour; 
}

/*Precondition : Carre initialisee */
void ModifierCoordonneesCarre(Carre * car,Coordonnees c)
{
  assert(c.x>=0 && c.y>=0);
  car->coordoCar.x=c.x;
  car->coordoCar.y=c.y;	
}
